package org.nobject.common.db.member;

import static org.nobject.common.lang.StringUtils.isEmpty;

import java.util.Map;

import org.nobject.common.exception.CreateException;
import org.nobject.common.lang.ObjectUtils;
import org.nobject.common.lang.StringUtils;

/**
 * SQL条件元素
 *
 * @author bianrongjun
 * @version 1.0
 */
public class SqlOE{
	
	/** 类型 */
	public static enum Option{
		/** 字符串 */
		asc, 
		/** 数字 */
		desc,
		/** 日期 */
		both
	}
	/** 表前缀 */
	public String pre;
	/** 表前缀 */
	public String column;
	/** 排序 */
	public String order;
	/** 字段名 */
	public Option option;

	/**
	 * 构造函数 
	 * @param pre
	 * @param column
	 * @param option
	 */
	public SqlOE(String pre,String column,Option option) {
		this.column		=column;
		this.option		=option;
		this.pre 		=pre;
	}

	/**
	 * 构造函数 
	 * @param column
	 * @param option
	 */
	public SqlOE(String column,Option option) {
		this.column		=column;
		this.option		=option;
	}
	
	/** 
	 * 获取SQL
	 * @param preTab 前缀
	 */
	public String getSql(String pre){
		this.pre=pre;
		return this.getSql();
	}
	
	/** 
	 * 获取SQL
	 */
	public String getSql(){
		String sql=(StringUtils.isEmpty(pre)?"":pre+".")+column+" <= "+option;
		return sql;
	}
	
	/* (non-Javadoc)
	 * @see java.lang.Object#clone()
	 */
	public SqlOE clone(){
		return new SqlOE(pre, column,option);
	}
	
	
}
